export interface AttachMore {
    target: string;
    label?: string;
    value?: string;
    alias?: string;
    ext?: string;
    condition?: object;
    keyword?: string;
    orderBy?: string;
    parent?: string;
    tree?: boolean;
    lazy?: boolean;
    next?: AttachMore;
}

export interface Pagination {
    pageIndex?: number;
    pageSize?: number;
    totalCount?: number;
    orderBy?: number;
}

export interface TableState<T> {
    loading: boolean,
    pagination: {
        current: number,
        defaultPageSize: number,
        pageSize: number,
        showSizeChanger: boolean,
        total: number,
        size: "default" | "middle" | "small",
    },
    columns: any[],
    size: "default" | "middle" | "small",
    title: string,
    dataSource: T[] | [],
    filterParams: any
}

export interface CreateState<T> {
    visible: boolean,
    loading: boolean,
    title: "创建" | string,
    form: T
}

export interface EditState<T> {
    visible: boolean,
    loading: boolean,
    title: "编辑" | string,
    form: T
}

export interface DetailState<T> {
    visible: boolean,
    loading: boolean,
    title: "详情" | string,
    form: T
}

export interface AttachMore {
    target: string;
    label?: string;
    value?: string;
    alias?: string;
    ext?: string;
    condition?: object;
    keyword?: string;
    orderBy?: string;
    parent?: string;
    tree?: boolean;
    lazy?: boolean;
    next?: AttachMore;
}
